热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

时差|联立_定位问题基于matlabchan算法fang算法taylor算法求解目标定位问题含Matlab源码2135期

篇首语:本文由编程笔记#小编为大家整理,主要介绍了定位问题基于matlabchan算法fang算法taylor算法求解目标定位问题含Matlab源码2135期相关的知识,希望对你有一定的参考

篇首语:本文由编程笔记#小编为大家整理,主要介绍了定位问题基于matlab chan算法fang算法taylor算法求解目标定位问题含Matlab源码 2135期相关的知识,希望对你有一定的参考价值。



一、chan+taylor算法移动基站无源定位简介

1 引言
随着无人机的普及,低空空域的安全问题受到人们的极大关注.针对该问题,本研究对“非合作型”无人机采用一种基于时差法的无源定位算法对其进行实时定位.基于时差法的无源定位方法是根据求解无人机信号到达主站和各辅站的距离差,并联合各基站坐标所构成的双曲线方程组来实现.该方法定位精度高,且不对外发射信号,可在机场等区域安全使用.

目前,Chan算法和Taylor算法是2种经典的时差定位算法.其中,Chan算法在时差值精确的情况下,可以实现较高精度的定位,但如果时差值精度不够,其定位精度会大幅降低.Taylor算法则是在已有的定位坐标基础上,进行迭代递归,使定位出的坐标接近于目标的真实坐标.虽然Taylor算法定位精度较高,但需要提供初始估计坐标,否则就无法实现准确定位.基于2种算法的特点,本研究提出Chan-Taylor联合算法,其思路是,将Chan算法解算出的目标坐标作为初始估计坐标值赋给Taylor算法进行迭代运算,即使获取的时差值存在一定误差,使初始估计坐标的精度不高,但可以通过迭代来提高定位坐标的精度.通过算法对比和仿真分析表明,Chan-Taylor联合算法较Chan算法具有更高的定位精度和稳定性,较Taylor算法更具有实用性.

2 算法描述
2.1 Chan算法

基于Chan算法的无源定位是通过求解目标源信号到达辅站与主站之间的时差并联立各基站坐标所得的双曲线方程组来实现的.该算法是一种非迭代算法,不需要初始值,在时差精确、视距传输的情况下,其定位效果良好,但在工程上,很难获得满足要求的时差初值.因此,Chan算法可作为其他算法的前置条件.

本研究以4站三维定位系统为例建立3组方程,该方程组为超定方程组.通常情况下,由于该方程组导出的矩阵不存在逆矩阵,方程组无法正常求解.所以,本研究利用伪逆法联合最小二乘法对方程组进行解算,即Chan算法.4站定位系统的定位原理如图1所示.

图1 4站定位系统示意图
图1中,主站坐标联立3个辅站坐标,通过分别计算出的时差可构建3条双曲线,其交点就是无人机的位置.

假设无人机位置为P=[px,py,pz],各基站坐标为Pi=[pix,piy,piz],i∈[0,3],则无人机到基站i的距离ri2可表示为,

本研究若不特别指明,均默认i∈[1,3].对式(1)整理可得,

式中,Ri表示基站i到坐标原点的距离;R0为主站到坐标原点的距离;ri0为无人机到辅站与主站间的距离差.

4站三维定位系统存在一个由3组式(2)的关系式结合而成的方程组,如式(3)所示.当A≠0时,线性方程组(3)有解.

式中,A是方程组的系数矩阵,b是方程组的输出向量.

利用伪逆法可求得无人机坐标为,

2.2 Chan-Taylor联合算法
因为Chan算法是非递归算法,对时差精度要求高,因此,本研究对该算法的定位结果进行二次处理.Taylor算法是利用局部最小二乘解进行迭代[5]的递归算法,其定位精度高,但需要初始估计坐标,否则无法进行定位.

基于低空无人机时差定位的实际需求,本研究结合Chan算法和Taylor算法提出了一种改进的算法,即Chan-Taylor联合算法.Chan-Taylor联合算法是将Chan算法的解算结果作为初始估计坐标送入Taylor算法,以达到对无人机坐标进行误差计算和定位修正的作用.算法在迭代时,将误差与设定的阈值进行比较,若误差值大于阈值,则继续迭代;若误差值小于设定阈值,则终止迭代并输出结果.

2.3 Chan-Taylor联合算法流程及计算原理
Chan-Taylor联合算法流程如图2所示,具体为:首先,算法获得无人机信号到主站与各辅站之间的时差;然后,将时差用于Chan算法部分进行初始估计坐标值的计算,并利用该坐标值在Taylor算法部分做误差向量的计算,用以定位修正;同时,对误差进行阈值比较.如不满足条件,则继续迭代,如满足条件,则结束迭代,并输出最终结果.

图2 Chan-Taylor算法流程

式中,α为目标差值向量,b为时差的差值向量,e为时差估计误差向量,H为时差估计的梯度矩阵.它们可分别表示为,

由式ri0=ri-r0=cτi0与站址坐标,可得,

将式(10)与式(11)联立,化简可得,


二、部分源代码

clear;clc;
C = 300000000; % 光速(米每秒)
R = [1000 2000 3000 4000 5000]; % 小区半径(米)
sgma =30;
Rn =1; %(km)
x_delta = 0;
y_delta = 0;
e = 0;
% 随机产生MS的位置(x,y)
u = rand(1);
y = (R/2)(1-sqrt(u))
v = (sqrt(3)
((R/2)-y))rand(1);
x = sqrt(3)y + v
num = 5;
PPP=1000;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Chan定位算法
for i = 1:num
% 蜂窝系统各基站坐标
X1 = 0;
Y1 = 0;
X2 = R(i)
(1+sqrt(3)/2);
Y2 = 0;
X3 = R(i)
(sqrt(3)/2);
Y3 = R(i)(-3/2);
X4 = R(i)
(-sqrt(3)/2);
Y4 = R(i)(-3/2);
X5 = R(i)
(-1-(sqrt(3)/2));
Y5 = 0;
X6 = R(i)(-sqrt(3)/2);
Y6 = R(i)
(3/2);
X7 = R(i)(sqrt(3)/2);
Y7 = R(i)
(3/2);
% 计算MS到各基站的距离
R1 = distance(X1,Y1,x(i),y(i));
R2 = distance(X2,Y2,x(i),y(i));
R3 = distance(X3,Y3,x(i),y(i));
R4 = distance(X4,Y4,x(i),y(i));
R5 = distance(X5,Y5,x(i),y(i));
R6 = distance(X6,Y6,x(i),y(i));
R7 = distance(X7,Y7,x(i),y(i));

% KM = XM^2 + YM^2
K1 = Ka(X1,Y1);
K2 = Ka(X2,Y2);
K3 = Ka(X3,Y3);
K4 = Ka(X4,Y4);
K5 = Ka(X5,Y5);
K6 = Ka(X6,Y6);
K7 = Ka(X7,Y7);
% XM_1 = XM - X1;YM_1 = YM - X1
X2_1 = Xab(X2,X1);
Y2_1 = Xab(Y2,Y1);
X3_1 = Xab(X3,X1);
Y3_1 = Xab(Y3,Y1);
X4_1 = Xab(X4,X1);
Y4_1 = Xab(Y4,Y1);
X5_1 = Xab(X5,X1);
Y5_1 = Xab(Y5,Y1);
X6_1 = Xab(X6,X1);
Y6_1 = Xab(Y6,Y1);
X7_1 = Xab(X7,X1);
Y7_1 = Xab(Y7,Y1);
t_sgma=10^(-7);
% 各TDOA测量值的方差
D_med1= 1.82*(0.410(-6)*(R1/1000)0.5)^2;
D_med2= 1.82
(0.410(-6)*(R2/1000)0.5)^2;
D_med3= 1.82
(0.410(-6)*(R3/1000)0.5)^2;
D_med4= 1.82
(0.410(-6)*(R4/1000)0.5)^2;
D_med5= 1.82
(0.410(-6)*(R5/1000)0.5)^2;
D_med6= 1.82
(0.410(-6)*(R6/1000)0.5)^2;
D_med7= 1.82
(0.410(-6)*(R7/1000)0.5)^2;
T2_1_fangcha = D_med2+D_med1+2
t_sgma^2;
T3_1_fangcha = D_med3+D_med1+2t_sgma^2;
T4_1_fangcha = D_med4+D_med1+2
t_sgma^2;
T5_1_fangcha = D_med5+D_med1+2t_sgma^2;
T6_1_fangcha = D_med6+D_med1+2
t_sgma^2;
T7_1_fangcha = D_med7+D_med1+2*t_sgma^2;


三、运行结果



四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 罗正华,雷林,周方均,李霞.基于Chan-Taylor联合算法的低空无人机时差定位研究[J].成都大学学报(自然科学版). 2019,38(04)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除


推荐阅读
  • 本文回顾了2017年的转型和2018年的收获,分享了几家知名互联网公司提供的工作机会及面试体验。 ... [详细]
  • 版本控制工具——Git常用操作(下)
    本文由云+社区发表作者:工程师小熊摘要:上一集我们一起入门学习了git的基本概念和git常用的操作,包括提交和同步代码、使用分支、出现代码冲突的解决办法、紧急保存现场和恢复 ... [详细]
  • 深入理解Java多线程并发处理:基础与实践
    本文探讨了Java中的多线程并发处理机制,从基本概念到实际应用,帮助读者全面理解并掌握多线程编程技巧。通过实例解析和理论阐述,确保初学者也能轻松入门。 ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • 深入剖析JVM垃圾回收机制
    本文详细探讨了Java虚拟机(JVM)中的垃圾回收机制,包括其意义、对象判定方法、引用类型、常见垃圾收集算法以及各种垃圾收集器的特点和工作原理。通过理解这些内容,开发人员可以更好地优化内存管理和程序性能。 ... [详细]
  • 使用PHP实现网站访客计数器的完整指南
    本文详细介绍了如何利用PHP构建一个简易的网站访客统计系统。通过具体的代码示例和详细的解释,帮助开发者理解和实现这一功能,适用于初学者和有一定经验的开发人员。 ... [详细]
  • 本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ... [详细]
  • 本章详细介绍SP框架中的数据操作方法,包括数据查找、记录查询、新增、删除、更新、计数及字段增减等核心功能。通过具体示例和详细解析,帮助开发者更好地理解和使用这些方法。 ... [详细]
  • 深入解析MySQL中的七种JOIN查询
    本文详细介绍了MySQL中常用的七种JOIN查询方法,包括内连接、左外连接、右外连接、全外连接以及排除连接等,并通过实例进行说明。 ... [详细]
  • 算法稳定币:构建去中心化加密货币体系的新希望
    本文探讨了算法稳定币在加密经济中的潜力,分析其与传统稳定币及比特币等早期加密资产的区别,并展望其未来发展方向。随着DeFi的兴起,算法稳定币正逐渐成为实现中本聪最初愿景的关键角色。 ... [详细]
  • 本文详细介绍了如何解决 Microsoft SQL Server 中用户 'sa' 登录失败的问题。错误代码为 18470,提示该帐户已被禁用。我们将通过 Windows 身份验证方式登录,并启用 'sa' 帐户以恢复其访问权限。 ... [详细]
  • 本文详细介绍如何使用 Apache Spark 执行基本任务,包括启动 Spark Shell、运行示例程序以及编写简单的 WordCount 程序。同时提供了参数配置的注意事项和优化建议。 ... [详细]
  • 深入探讨Web页面中的锚点交互设计
    本文旨在分享Web前端开发中关于网页锚点效果的实现与优化技巧。随着Web技术的发展,越来越多的企业开始重视前端开发的质量和用户体验,而锚点功能作为提升用户浏览体验的重要手段之一,值得深入研究。 ... [详细]
  • 远程过程调用(RPC)是一种允许客户端通过网络请求服务器执行特定功能的技术。它简化了分布式系统的交互,使开发者可以像调用本地函数一样调用远程服务,并获得返回结果。本文将深入探讨RPC的工作原理、发展历程及其在现代技术中的应用。 ... [详细]
  • 牛顿类算法解析与应用
    本文详细介绍了牛顿类算法的基本原理、应用场景及其在优化问题中的重要性,旨在为读者提供全面的理解和实际操作的指导。 ... [详细]
author-avatar
自由的成长_563_742_784
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有